home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_notebook.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  91 lines

  1. #ifndef __EWL_NOTEBOOK_H__
  2. #define __EWL_NOTEBOOK_H__
  3.  
  4. /**
  5.  * @file ewl_notebook.h
  6.  *
  7.  * @defgroup Ewl_Notebook Notebook The notebook widget
  8.  * @{
  9.  */
  10.  
  11. /**
  12.  * @themekey /notebook/file
  13.  * @themekey /notebook/group
  14.  */
  15.  
  16. typedef struct Ewl_Notebook_Page Ewl_Notebook_Page;
  17.  
  18. #define EWL_NOTEBOOK_PAGE(page) ((Ewl_Notebook_Page *)page)
  19.  
  20. struct Ewl_Notebook_Page
  21. {
  22.     Ewl_Widget     *tab;
  23.     Ewl_Widget     *page;
  24. };
  25.  
  26. typedef struct Ewl_Notebook Ewl_Notebook;
  27.  
  28. #define EWL_NOTEBOOK(notebook) ((Ewl_Notebook *) notebook)
  29.  
  30. struct Ewl_Notebook
  31. {
  32.     Ewl_Box             box;
  33.  
  34.     Ewl_Widget        *tab_box;
  35.     Ewl_Widget        *page_box;
  36.  
  37.     Ewl_Notebook_Page    *visible_page;
  38.     Ecore_List        *pages;
  39.  
  40.     Ewl_Position         tab_position;
  41. };
  42.  
  43. Ewl_Widget     *ewl_notebook_new(void);
  44. int          ewl_notebook_init(Ewl_Notebook *n);
  45. void         ewl_notebook_page_append(Ewl_Notebook *n, Ewl_Widget *c,
  46.                             Ewl_Widget *l);
  47. void         ewl_notebook_page_prepend(Ewl_Notebook *n, Ewl_Widget *c,
  48.                             Ewl_Widget *l);
  49. void         ewl_notebook_page_insert(Ewl_Notebook *n, Ewl_Widget *c,
  50.                             Ewl_Widget *l, int p);
  51.  
  52. void         ewl_notebook_first_page_remove(Ewl_Notebook *n);
  53. void         ewl_notebook_last_page_remove(Ewl_Notebook *n);
  54. void         ewl_notebook_page_remove(Ewl_Notebook *n, int i);
  55. void         ewl_notebook_visible_page_remove(Ewl_Notebook *n);
  56.  
  57. void         ewl_notebook_tabs_alignment_set(Ewl_Notebook *n,
  58.                             unsigned int a);
  59. unsigned int     ewl_notebook_tabs_alignment_get(Ewl_Notebook *n);
  60.  
  61. void         ewl_notebook_tabs_position_set(Ewl_Notebook *n,
  62.                             Ewl_Position p);
  63. Ewl_Position     ewl_notebook_tabs_position_get(Ewl_Notebook *n);
  64.  
  65. void         ewl_notebook_tabs_visible_set(Ewl_Notebook *n, int show);
  66.  
  67. void         ewl_notebook_visible_page_set(Ewl_Notebook *n, int t);
  68. int         ewl_notebook_visible_page_get(Ewl_Notebook *n);
  69.  
  70. /*
  71.  * Internally used callbacks, override at your own risk.
  72.  */
  73. void ewl_notebook_tab_click_cb(Ewl_Widget *widget, void *ev_data,
  74.                         void *user_data);
  75. void ewl_notebook_destroy_cb(Ewl_Widget *w, void *ev_data,
  76.                         void *user_data);
  77. void ewl_notebook_configure_cb(Ewl_Widget *w, void *ev_data,
  78.                         void *user_data);
  79. void ewl_notebook_page_reparent_cb(Ewl_Widget *w, void *ev_data,
  80.                         void *user_data);
  81. void ewl_notebook_page_show_cb(Ewl_Widget *w, void *ev_data,
  82.                         void *user_data);
  83. void ewl_notebook_page_hide_cb(Ewl_Widget *w, void *ev_data,
  84.                         void *user_data);
  85. void ewl_notebook_page_destroy_cb(Ewl_Widget *w, void *ev_data,
  86.                         void *user_data);
  87.  
  88. #endif
  89.  
  90.  
  91.